﻿namespace MsForgeReboot.Framework.Interfaces {
    #region Usings

    using MsForgeReboot.Framework.Entities;

    using PagedList;

    #endregion

    public interface IUserGroupService {
        /// <summary>
        ///     Gets the paged list of user groups.
        /// </summary>
        /// <param name="page">The page.</param>
        /// <param name="pageSize">Size of the page.</param>
        /// <returns></returns>
        IPagedList<UserGroup> GetList(int page, int pageSize);

        /// <summary>
        ///     Saves the specified user group to the database.
        /// </summary>
        /// <param name="userGroup">The user group.</param>
        void Save(UserGroup userGroup);

        /// <summary>
        ///     Gets the <see cref="UserGroup" /> by URL pointer.
        /// </summary>
        /// <param name="urlPointer">The URL pointer.</param>
        /// <returns></returns>
        UserGroup GetByUrlPointer(string urlPointer);

        /// <summary>
        /// Deletes the specified URL pointer.
        /// </summary>
        /// <param name="urlPointer">The URL pointer.</param>
        void Delete(string urlPointer);
    }
}
